Cancellation system and method for a wireless positioning system

ABSTRACT

A cancellation system that delays received Global Positioning System (“GPS”) signals and cancels less than all of the received GPS signals from the delayed version of the received GPS signals. A delay circuit produces a delayed version of the received GPS signals and a demodulator and despreader unit produces a demodulated and despread GPS signal corresponding to one of the received GPS signals. A respreader and remodulator unit produces a remodulated and respread GPS signal from the demodulated and despread GPS signal and a combiner produces a combined GPS signal from the delayed version of the received GPS signals and the remodulated and respread GPS signal. The cancellation system and method may also store the received GPS signals and cancel less than all the received GPS signals from the stored version of the received GPS signals.

TECHNICAL FIELD

This invention relates generally to the field of wirelesscommunications. In particular, the invention relates to a system andmethod for canceling received signals at the receiver of a wirelessdevice.

BACKGROUND OF THE INVENTION

The worldwide use of wireless devices such as cellular telephones isgrowing at a rapid pace. As the number of people using wireless devicesincreases, the number of features offered by wireless service providersincreasingly matches the features offered by traditional land-linetelephone service providers. Features such as call waiting, callforwarding, caller identification (caller I.D.), three-way calling, andothers are commonly offered by both land-line and wireless serviceproviders. These features operate in the same manner on both wirelessdevices and land-line telephones. Enhanced 911 (also known as E911)services, however, operate differently on land-line telephones (normallyreferred to as a “911” call) than on wireless devices.

When a 911 call is placed from a land-line telephone, the 911 receptioncenter receives the call and determines the origin of the call. In casethe caller fails, or forgets, to identify his or her location, the 911reception center is able to obtain the location from which the call wasmade from the land-line telephone switching network and send emergencypersonnel to the location of the call.

If instead, an E911 call is placed from a wireless device such as acellular telephone, the E911 reception center receives the call butcannot determine the origin of the call. If the caller fails, orforgets, to identify his or her location, the E911 reception center isunable to obtain the location of the call because the mobile switchingnetwork is different than the land-line telephone switching network. Atpresent, the best that the E911 reception center may possibly do isdetermine the location of the base station corresponding to the cellfrom which the call was placed. Unfortunately, typical cells in acellular system may cover an area with approximately a 30 mile diameter.

A proposed solution to this problem is to use a wireless positioningsystem that includes satellites and/or pseudolites (base stations) totriangulate the position of a wireless device. The Global PositioningSystem “GPS,” also known as NAVSTAR, is an example of a satellite basednavigation system that may be used by a wireless device in combinationwith an appropriate GPS receiver to pinpoint its location on earth. Thearray of GPS satellites transmits highly accurate, time codedinformation that permits a receiver to calculate its exact location interms of latitude and longitude on earth as well as the altitude abovesea level. The GPS system is designed to provide a base navigationsystem with accuracy to within 100 meters for non-military use andgreater precision for the military.

The space segment of the GPS system is a constellation of satellitesorbiting above the earth that contain transmitters, which send highlyaccurate timing information to GPS receivers on earth. The fullyimplemented GPS system consists of 21 main operational satellites plusthree active spare satellites. These satellites are arranged in sixorbits, each orbit containing three or four satellites. The orbitalplanes form a 55° angle with the equator. The satellites orbit at aheight of 10,898 nautical miles (20,200 kilometers) above earth withorbital periods for each satellite of approximately 12 hours.

Each of the orbiting satellites contains four highly accurate atomicclocks. These provide precision timing pulses used to generate a uniquebinary code (also known as a pseudo random or pseudo noise (PN) code)that is transmitted to earth. The PN code identifies the specificsatellite in the constellation. The satellite also transmits a set ofdigitally coded ephemeris data that completely defines the precise orbitof the satellite. The ephemeris data indicates where the satellite is atany given time, and its location may be specified in terms of thesatellite ground track in precise latitude and longitude measurements.The information in the ephemeris data is coded and transmitted from thesatellite providing an accurate indication of the exact position of thesatellite above the earth at any given time. A ground control stationupdates the ephemeris data of the satellite once per day to ensureaccuracy.

A GPS receiver configured in a wireless device is designed to pick upsignals from three, four, or more satellites simultaneously. The GPSreceiver decodes the information and, using the time and ephemeris data,calculates the approximate position of the wireless device. The GPSreceiver contains a floating-point processor that performs the necessarycalculations and may output a decimal display of latitude and longitudeas well as altitude on the handset. Readings from three satellites arenecessary for latitude and longitude information. A fourth satellitereading is required in order to compute altitude.

Unfortunately, a problem to this solution is that, oftentimes, one ormore of the signal sources (from either the satellites and/orpseudolites) will interfere with other signal sources, due to individualsignal strength. In a sense, one signal will overwhelm, or jam, othersignals, so that computation of the position of the wireless device isnot possible. Therefore, there is a need for a cancellation system thatcancels the strongest signals until a suitable configuration of signalsources may be detected for computing the position of the wirelessdevice.

SUMMARY

A number of technical advances are achieved in the art by implementing acancellation system in a spread spectrum environment. The cancellationsystem may be broadly conceptualized as a system for allowing weakerreceived signals from the cancellation system to be detected from otherstronger received signals that may potentially overwhelm the weakerreceived signals.

For example, a cancellation system may utilize a system architecturethat delays the received signals and cancels less than all the receivedsignals from the delayed version of the received signals. Animplementation of this system architecture may include a delay circuit,a demodulation and despreader unit, a re-modulator and re-spreader unitand a combiner. The delay circuit produces a delayed version of thereceived signals and the demodulator and de-spreader unit produces ademodulated and de-spread signal corresponding to one of the receivedsignals. The respreader and remodulator unit produces a remodulated andrespread signal from the demodulated and despread signal and thecombiner produces a combined signal from the delayed version of thereceived signals and the remodulated and respread signal. Conceptually,the combined signal is the result of canceling a strong received signalfrom the other received signals in order to detect a weaker signalwithin the stronger received signals.

As another example, the cancellation system may also utilize a systemarchitecture that stores the received signals and cancels less than allthe received signals from the stored version of the received signals. Animplementation of this system architecture may include a matched filter,a storage unit, a remodulator and respreader unit, and a combiner. Thestorage unit stores the received signals and the matched filter producesa demodulated and despread signal corresponding to one of the receivedsignals. The remodulator and respreader unit produces a remodulated andrespread signal from the output of the matched filter and the combinerproduces a combined signal from the output of the storage unit and theremodulated and respread signal. Again the combined signal isconceptually the result of canceling a strong received signal from theother received signals in order to detect a weaker signal within thestronger received signals.

Other systems, methods, features and advantages of the invention will beor will become apparent to one with skill in the art upon examination ofthe following figures and detailed description. It is intended that allsuch additional systems, methods, features and advantages be includedwithin this description, be within the scope of the invention, and beprotected by the accompanying claims.

BRIEF DESCRIPTION OF THE FIGURES

The invention can be better understood with reference to the followingfigures. The components in the figures are not necessarily to scale,emphasis instead being placed upon illustrating the principals of theinvention. Moreover, in the figures, like reference numerals designatecorresponding parts throughout the different views.

FIG. 1 illustrates a schematic diagram of a wireless device, such asmobile telephone, receiving positional information from a plurality ofsatellites and pseudolites.

FIG. 2 illustrates a schematic diagram of the wireless device in aposition that blocks the reception of some of the available satellitesand pseudolites.

FIG. 3 illustrates a block diagram of the cancellation system located inthe wireless device of FIG. 1 and FIG. 2.

FIG. 4 illustrates a block diagram of one of the demodulator anddespreader units shown in FIG. 3.

FIG. 5 illustrates a block diagram of one of the remodulator andrespreader units shown in FIG. 3.

FIG. 6 illustrates a block diagram of the cancellation system located inthe wireless device of FIG. 1 and FIG. 2 using a matched filterstructure.

FIG. 7 illustrates a flowchart illustrating the process performed by thecancellation system of FIG. 3.

FIG. 8 illustrates a block diagram of the cancellation system located inthe wireless device of FIG. 1 and FIG. 2 using a Digital SignalProcessor (DSP) or Application Specific Integrated Circuit (ASIC) chip.

FIG. 9 illustrates a schematic diagram of an example implementation ofthe cancellation system in a network assisted wireless environment.

FIG. 10 illustrates a flowchart illustrating an example processperformed by the implementation described in FIG. 9.

FIG. 11 illustrates a flowchart illustrating another example processperformed by the implementation described in FIG. 9.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A typical GPS system has approximately 12 satellites that may be visibleat any one time to a wireless device. Global Positioning System or “GPS”means any system utilizing satellites and/or land-based communicationsdevices for providing or enabling the determination of a location of thewireless device on the earth, for example but not limited to: NAVSTAR,GLONASS, LORAN, Shoran, Decca, or TACAN.

In FIG. 1, a wireless device 10 (such as a mobile or cellular telephone)on the surface of the earth 15 receives positional information from aplurality of satellites and pseudolites (such as base stations). Forexample, in FIG. 1 five satellites 20, 25, 30, 35 and 40 are showntransmitting to the wireless device 10 via signal paths 45, 50, 55, 60and 65, respectively. FIG. 1 also shows pseudolites (base stations) 70and 75 transmitting to the wireless device 10 via signal paths 80 and85, respectively. Generally the signal strength of the signals receivedby the wireless device 10, via signal paths 50, 55 and 60, are greaterthan the signal strength of the signals received by the wireless device10 via signal paths 45 and 65.

FIG. 2 shows an obstruction 90 that blocks the wireless device 10 fromreceiving signals from some of the pseudolites and/or satellites.Specifically, in FIG. 2 the obstruction 90 blocks the reception ofsignals from pseudolite 95 (via signal path 100) and satellites 120, 125and 130 (via signal paths 105, 110 and 115, respectively). Theobstruction 90, however, does not block the reception of signals frompseudolite 135 (via signal path 140), satellites 145 and 150 (via signalpaths 155 and 160, respectively), and satellite 130 (via a signalmulti-path including signal path 115 and reflected signal paths 165 and170). The reflected signal paths 165 and 170 are reflected from theobstruction 90 and other possible reflective objects such as an airplane175 and/or a building (not shown). Generally depending on the differentsignal paths, the strength of the signals received at the wirelessdevice 10 will vary.

FIG. 3 illustrates a cancellation system 180 within the wireless device10. The cancellation system 180 includes a plurality of demodulator anddespreader units 185, 190, 195, 200 and 205, a delay circuit 210, and aplurality of remodulator and respreader units 215, 220 and 225. Thecancellation system 180 also includes a combiner 230, a plurality ofdata decoders 235, 240, 245, 250 and 255, and a controller 260.

The demodulator and despreader units 185, 190 and 195 and the delay unit210 are in signal communication with a radio frequency (RF) front end265 of the wireless device 10. The demodulator and despreader units 185,190 and 195 are also in signal communication with the remodulator andrespreader units 215, 220 and 225, and the data decoders 235, 240 and245 via signal connections 270, 275 and 280, respectively. Forillustration purposes, FIG. 3 shows three banks (or channels) ofdemodulators and despreader units 185, 190 and 195 out of an approximate12 banks corresponding to the 12 potentially visible satellites. More orless banks may be required based on the GPS system requirements. Thedemodulator and despreader units 200 and 205 are in signal communicationwith data decoders 250 and 255 and the plurality of data decoders 235,240, 245, 250 and 255 are in signal communication with the controller260 via a signal bus 285. The delay circuit 210 and the plurality ofremodulator and respreader units 215, 220 and 225 are in signalcommunication with the combiner 230 via signal paths 290, 295, 300 and305 respectively.

As the wireless device 10 receives signals from the plurality ofsatellites, the received signals are processed by the RF front end 265and passed to the banks of demodulator and despreader units 185, 190 and195. The RF front end 265 is a general radio receiver front endincluding filters, an antenna, and amplifiers that have been designed toreceive signals from the satellites and/or pseudolites. Examples of theRF front end 265 may selectively be a “Gemini/Pisces Monopack R6732-13”integrated circuit available from Conexant Systems, Inc., “GRF1SiRFstarI” and “GRF2i SiRFstarIIe” architectures available from SiRFTechnology, Inc., “MGPSCS-A1” GPS Chipset, “PSRF111A” RF module, and/or“MRFIC1502” Integrated GPS down converter from Motorola, Inc., and/orthe “UAA1570HL” GPS front-end receiver circuit from Philips, Inc.

The received signals are then processed by the demodulator anddespreader units 185, 190 and 195 and passed to the data decoders 235,240 and 245 and the remodulator and respreader units 215, 220 and 225,respectively. The demodulator and despreader units 185, 190 and 195first demodulate the received signals by removing the carrier signalcomponents of the received signals and then despread the demodulatedreceived signals by despreading the signals with the PN codescorresponding to the different satellites. The data decoders 235, 240and 245 receive the demodulated and despread signals from thedemodulator and despreader units 185, 190 and 195 (via signalconnections 270, 275 and 280) and decode any data contained on thedemodulated and despread signals.

The controller 260 controls and monitors the operation of the datadecoders 235, 240, 245, 250 and 255 via the signal bus 285. Thecontroller 260 monitors the decoding process of the data decoders 235,240, 245, 250 and 255 and determines if a sufficient number ofsatellites have been identified in order to calculate the location ofthe wireless device 10. Three satellites are needed to calculate thelocation of the wireless device 10 in terms of latitude and longitudeand four satellites are needed to calculate the location of the wirelessdevice 10 in terms of latitude, longitude and altitude. The controller260 may be any general-purpose processor such as an Intel XXX86,Motorola 68XXX or PowerPC, or other equivalent processor. Alternatively,a GPS-specific circuit or oriented device may selectively be utilized.Additionally, the controller 260 may also be integrated into a signalsemiconductor chip such as an Application Specific Integrated Chip(ASIC) or Reduced Instruction Set Computer (RISC), or may be implementedvia a Digital Signal Processor (DSP) chip. Examples of GPS-orienteddevices include the “Scorpio 11577-11” digital integrated circuitproduced by Conexant Systems, Inc., “GSP1 SiRFstar I” and “GSP2eSiRFstart II” architectures available from SiRF Technology, Inc.,“MGPSCS-A1” and “MMC2003” from Motorola, Inc., and the “SAA1575HL” GPSbaseband processor from Philips, Inc.

For example, if an insufficient number of satellites have beenidentified, the controller 260 first determines how many satellites havebeen properly identified and then proceeds to search for additionalsatellite signals by removing the identified signals from the receivedsignals. This procedure basically power filters the received signalsfrom the RF front end 265 by removing the higher power satellite signalsfrom the received signals. In this manner the cancellation system 180compensates for the varying received signal strengths and detects thelower power (i.e., weaker) received signals that would normally behidden by the higher power received signals.

The controller 260 performs this power filtering by instructing theremodulator and respreader units 215, 220 and 225 to remodulate andrespread the signals received via signal connections 270, 275 and 280and send the resulting signals to the combiner 230 via signalconnections 295, 300 and 305, respectively. The combiner 230 is ageneral arithmetic circuit that combines the signals from signalconnections 295, 300 and 305 with the signal from the delay circuit 210.The delay circuit 210 is a circuit that delays the received signal fromthe RF front end 265 by a time delay equal to the time necessary topropagate a signal from the RF front end 265 through one of thedemodulator and despread units 185, 190 or 195 and one of theremodulator and respreader units 215, 220 or 225 to the combiner 230.

The combiner 230 then subtracts the signals (received via signalconnections 295, 300 and 305) from the delayed signal (received viasignal connection 290) and sends the result to demodulator anddespreader units 200 and 205, which demodulate and despread theresultant signal in a fashion similar to demodulator and despreaderunits 185, 190 and 195. The resulting demodulated and despread signalsare then decoded for satellite information data via data decoders 250and 255. The data decoders 250 and 255 utilize the information from thedemodulator and despreader units 200 and 205 to determine the range orpseudo-range measurements.

If the C/N₀ (signal to noise density ratio) is sufficient to detect asatellite and if the operation of the cancellation system 180 iscontinuous in nature, a 50 Hz data signal from a satellite may alsoselectively be demodulated. The 50 Hz data signal is a low frequencymodulated data signal on the PN code transmission that represents theupdated orbital location of the satellites.

It is appreciated for illustration purposes that only two of theapproximate 12 demodulator and despreader units are shown (185 and 190in FIG. 3). It is also appreciated for illustration purposes, that onlya two-stage system has been shown (one stage being before the combiner230 and the second stage being after the combiner 230 in FIG. 3),however, the system may be extended to multiple stages by repeating theutilization of additional delay circuits, demodulator and despreaderunits, remodulator and respreader units and combiners after the combiner230. The output of each of the combiners, in each stage, may then beutilized to provide signals to additional demodulator and despreaderunits. It is appreciated that the number of stages employed isdetermined by the implementation practicalities.

As another example, if an insufficient number of satellites have beenidentified, the controller 260 also monitors the decoding process ofdata decoders 250 and 255 searching for power filtered satellitesignals. Again for illustration purposes only two of the approximate 12data decoders have been shown. In this example, signals from thedemodulator and despreader units 185, 190 and 195 are automaticallyremodulated and respread by remodulator and respreader units 215, 220and 225 and the outputs combined in the combiner 230 with the delayedsignal from the delay circuit 210. The resultant signals from thecombiner 230 are then demodulated and despread with demodulator anddespreader units 200 and 205 and the data is decoded with data decoders250 and 255. The demodulation, despreading, remodulation, respreadingand signal removal operations may because the delay circuit 210 may beconfigured as a storage device such as random access memory (RAM) orother static memory realization.

FIG. 4 is an example implementation of a demodulator and despreader unitsuch as demodulator and despreader unit 185. The demodulator anddespreader unit 185 includes a carrier frequency generator 310, a pseudonoise (PN) code generator 315, a pair of signal mixers 320 and 325, anda filter 330. The PN code is a binary code corresponding to the PN codefor a specific satellite. The first mixer 320 is in signal communicationwith the RF front end 265 and the carrier frequency generator 310 viasignal connection 335. The second mixer 325 is in signal communicationwith the first mixer 320, the PN code generator 315, and the filter 330,via signal connections 340, 345 and 350. The filter 330 is in signalcommunication with the remodulator and respreader unit 215, FIG. 3, anddata decoder 235 via signal connection 270.

The first mixer 320 utilizes the carrier frequency generator 310 toremove the carrier signal from the received signal (i.e., demodulate)from the RF front end 265 and the second mixer 325 utilizes the PN codegenerator 315 to despread the demodulated signal from the first mixer320. The filter 330 then removes any harmonics and other unnecessaryfrequency components from the demodulated and despread signal andoutputs the resulting signal via signal connection 270.

FIG. 5 is an example implementation of the remodulator and respreaderunit 215. The remodulator and respreader unit 215 includes a PN codegenerator 355, a carrier frequency generator 360 and a pair of signalmixers 365 and 370. The first mixer 365 is in signal connection with thefilter 330, FIG. 4, via signal connection 270, FIG. 5, and the PN codegenerator 355 via signal connection 375. The second mixer 370 is insignal communication with the first mixer 365, the carrier frequencygenerator 360, and the combiner 230, FIG. 3, via signal connections 380,FIGS. 5, 385 and 295. The PN code generator 355 generates the same PNcode utilized by the corresponding demodulator and despreader unit. Asan example the PN code utilized by remodulator and respreader unit 215,FIG. 3, is the same as the PN code utilized by demodulator anddespreader unit 185.

The first mixer 365 utilizes the PN code generator 355 to spread thesignal received (via signal connection 270) and the second mixer 370utilizes the carrier frequency generator 360 to add a carrier signal(i.e., modulate) to the spread signal from the first mixer 365. Thesecond mixer 370 then sends the resulting signal to the combiner 230,FIG. 3.

FIG. 6 shows an example matched filter implementation of thecancellation system 680. The cancellation system 680 includes a storageunit 388 (such as RAM), a matched filter unit 390, a remodulator andrespreader unit 395, a combiner 400, a switch unit 405, a data decoder410, and a controller 415. In this example implementation, the matchedfilter unit 390, remodulator and respreader unit 395, and storage unit388 are preferably utilized in a recursive fashion, instead of utilizinga plurality of demodulator and despreader units and remodulator andrespreader units as shown in FIG. 3. Thus the storage unit 388, matchedfilter unit 390, remodulator and respreader unit 395 and combiner 400would be utilized multiple times. As a signal is received from the RFfront end 265, it is passed to the matched filter unit 390 and thestorage unit 388. The received signal is then processed by the matchedfilter unit 390 that produces a demodulated and despread signal for aspecific satellite. The output of the matched filter 390 is remodulatedand respread by the remodulator and respreader unit 395 and removed fromthe received signals stored in the storage unit 388 by the combiner 400.

In addition to producing a demodulated and despread signal for aspecific satellite, the matched filter unit 390 also estimates thesignal amplitude and the carrier and code frequency and phase values.These values may be utilized to set the remodulator and respreader unit395 to accurately remove the detected strong signal. If the controller415 determines that sufficient signals have been obtained to determinethe position of the wireless device 10, the controller 415 instructs theswitch 405, via a controller bus 420, to send the combined signal to adata decoder 410 to decode the signal.

If the controller 415 instead determines that additional signals areneeded, the controller 415 instructs the switch 405, via the control bus420, to send the result from the combiner 400 back to the matched filterunit 390 and the storage unit 388 via the feedback signal path 425. Theprocess then repeats using the same matched filter 390 and remodulatorand respreader unit 395 on the new combined signal from the combiner400. This process is iterated until the controller 415 determines that asufficient number of signals have been detected to calculate theposition of the wireless device 10. The matched filter 390 and theremodulator and respreader unit 395 may have selectively the samephysical circuitry (such as one integrated circuit), applied multipletimes by the controller 415. It is appreciated that the combination ofthe matched filter unit 390 and remodulator and respreader unit 395 maybe selectively repeated in multiple stages instead of using an iterativefeedback approach without deviating from the implementation described.

An advantage of using the matched filter 390 is that the detection ofthe stronger signals also provides a reference for the amplitude andphase of the strong signals to be cancelled out. These estimates areinherently related to the stored data from which the strong signals willbe removed, and then reprocessed by the matched filter 390 in searchingfor the next strongest signal. This process functions particularly wellwith spread spectrum systems like GPS and GLONASS because the residualsof the strong signals that are not removed still appear as uncorrelatednoise relative to the signals still to be detected.

FIG. 7 illustrates the process performed by the cancellation system 180(illustrated in FIG. 3). When the process begins 430, the RF front end265 (illustrated in FIG. 3) receives a plurality of signals 435 from theplurality of satellites and sends the received signals to thecancellation system 180 (illustrated in FIG. 3). As the processcontinues 440, the cancellation system 180 processes the receivedsignals by delaying the received signals with a delay circuit 210(illustrated in FIG. 3) to create a delay signal, and demodulating anddespreading the received signals with a plurality of demodulator anddespreader units to create a plurality of demodulated and desrpreadsignals that are sent to both a plurality of data decoders and aplurality of remodulator and respreader units. If the controller 260(illustrated in FIG. 3) determines 445 that a sufficient number ofsatellite signals have been obtained to calculate the location of thewireless device 10 (illustrated in FIG. 3), the process ends 450.

If instead the controller 260 determines 445 that an insufficient numberof satellite signals have been obtained, the cancellation system 180respreads and remodulates 455 the signals obtained from the demodulationand despreader units and sends the results to combiner 230 (illustratedin FIG. 3). The combiner 230 subtracts 460 the respread and remodulatedsignals from the delayed signal produced by the delay circuit 210, whichimpedes the delayed signal by the time necessary to propagate a signalfrom the RF front end 265 through one of the demodulator and despreadunits 185, 190 or 195 and one of the remodulator and respreader units215, 220 or 225 to the combiner 230.

The cancellation system 180 then demodulates and despreads 465 theoutput from the combiner 230 and passes the demodulated and despreadoutput of the combiner 230 to the data decoders that decode 470 thedemodulated and despread output of the combiner 230. If the cancellationsystem 180 has obtained a sufficient number of satellites 445, theprocess ends 450. If any additional satellites are still needed 445 theprocess repeats 455 through 470 until a sufficient number of satellitesare obtained.

FIG. 8 is a block diagram of the cancellation system 880 located in thewireless device 10 utilizing a Digital Signal Processor (DSP) orApplication Specific Integrated Circuit (ASIC) chip 475. Thecancellation system 880 may be selectively implemented in software,hardware, or a combination of hardware and software. For example, theelements of the cancellation system 880 may be implemented in software480 stored in a memory located in a controller unit 485. The controllerunit 485 is in signal communication with the DSP or ASIC chip 475 viacommunication link 490 (which may selectively be a system bus). Thesoftware 480 configures and drives the DSP or ASIC chip 475 and performsthe steps illustrated in FIG. 7.

The software program 480 comprises an ordered listing of executableinstructions for implementing logical functions. The software 480 may beembodied in any computer-readable medium for use by or in connectionwith an instruction execution system, apparatus, or device, such as acomputer-based system, processor-containing system, or other system thatmay selectively fetch the instructions from the instruction executionsystem, apparatus, or device and execute the instructions. In thecontext of this document, a “computer-readable medium” is any means thatmay contain, store, communicate, propagate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device. The computer readable medium may be for example,but not limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. More specific examples (a non-exhaustive list) of thecomputer-readable medium would include the following: an electricalconnection (electronic) having one or more wires, a portable computerdiskette (magnetic), a RAM (electronic), a read-only memory (ROM)(electronic), an erasable programmable read-only memory (EPROM or Flashmemory) (electronic), an optical fiber (optical), and a portable compactdisc read-only memory (CDROM) (optical). Note that the computer-readablemedium may even be paper or another suitable medium upon which theprogram is printed, as the program can be electronically captured, viafor instance optical scanning of the paper or other medium, thencompiled, interpreted or otherwise processed in a suitable manner ifnecessary, and then stored in a computer memory.

FIG. 9 illustrates an example implementation of the cancellation system495 in a network assisted wireless environment. FIG. 9 shows a wirelessdevice 500 (such as a cellular telephone or other mobile device) insignal communication with a stationary communication device 505 (such asa base station or other network communication device) via signal path510. Both the wireless device 500 and the stationary communicationdevice 505 receive signals from a number of satellites 515, 520 and 525via signal paths 530, 535, 540, 545, 550 and 555, respectively.

The wireless device 500 includes a RF front end 560 (similar to RF frontend 265 in FIG. 3), the cancellation system 495, FIG. 9, and a radiomodule 565. The cancellation system 495, which includes a controller570, is similar to the implementation of the cancellation system 180 inFIG. 3. The wireless device 500, FIG. 9, receives signals from thesatellites 515, 520 and 525 and the cancellation system 495 detects thelower power signals by power filtering all the received signals in amanner similar to previous implementations described in FIG. 1 throughFIG. 8.

The main difference in the implementation illustrated in FIG. 9 is theuse of a network 575 to assist the cancellation system 495 in powerfiltering the received signals. The stationary communication device 505is part of the network 575 and includes a satellite positioning systemreceiver 580 that receives satellite data messages or signals from thesatellites 515, 520 and 525. The stationary communication device 505 isassumed to receive the signal approximately error free because it willhave a clear view of the sky and will not have any obstructions blockingthe signals. In the network 575 there may be numerous devices similar tothe stationary communication device 505. For convenience only onestationary communication device 505 is shown, however, it is appreciatedthat the following description is equally valid with multiple stationarycommunication devices. Additionally, only three of the approximately 12available satellites in a GPS system are shown.

FIG. 10 illustrates an example process performed by the implementationdescribed in FIG. 9. When the process begins the wireless device 500(illustrated in FIG. 9) receives numerous signals 585 from satellites515, 520 and 525 (illustrated in FIG. 9) via signal paths 530, 540 and550 (illustrated in FIG. 9). The RF front end 560 (illustrated in FIG.9) processes 590 the received signals and passes them to thecancellation system 495 (illustrated in FIG. 9), which attempts todetect all the available signals. The controller 570 (illustrated inFIG. 9) instructs 595 the cancellation system 495 to pass a list (i.e.,record) of the actual detected signals to the radio module 565(illustrated in FIG. 9). The radio module 565 transmits 600 the list tothe stationary communication device 505 (illustrated in FIG. 9) viasignal path 510. The stationary communication device 505 receives thelist 605 and compares it to its own generated list of received satellitesignals via signal paths 535, 545 and 555 (illustrated in FIG. 9). Thestationary communication device 505 then responds 610 to the wirelessdevice 500, via signal path 510 (illustrated in FIG. 9) with either anacknowledgement that the cancellation system 495 has indeed detected allthe possible received signals from the satellites or additionalinformation to assist the cancellation system 495 to detect theremaining needed signals. If the stationary communication device 505sends an acknowledgement 610, the wireless device 500 receives theresponse from the stationary communication device 505 and the controller570 (illustrated in FIG. 9) instructs the cancellation system 495 thatthe detection process is over 615.

If instead, the stationary communication device 505 determines that thewireless device did not detect all the available satellites 610 thestationary communication device 505 then additionally transmits a recordthat includes information to assist the cancellation system 495. Therecord may include satellite location, power, frequency, phase and otherdata that will help the cancellation system 495 detect the missingsignals. The wireless device 500 receives this record 620 and thecontroller 570 instructs the cancellation system 495 to detect themissing signals based on the received record. The process then ends 615.

FIG. 11 illustrates another example process performed by theimplementation described in FIG. 9. When the process begins thestationary communication device 505 (illustrated in FIG. 9) receives 625numerous signals from satellites 515, 520 and 525 (illustrated in FIG.9) via signal paths 535, 545 and 555 (illustrated in FIG. 9). Thestationary communication device 505 generates a record that includes alist of available satellites and stored information including satellitelocation, power, frequency, phase and other data that will help thecancellation system 495 detect the satellite signals. The stationarycommunication device 505 sends the record 630 to the wireless device 500(illustrated in FIG. 9) via signal path 510 (illustrated in FIG. 9). Thecontroller 570 (illustrated in FIG. 9) instructs 635 the cancellationsystem 495 (illustrated in FIG. 9) to detect the available satellitesystems based on the record from the stationary communication device505. The cancellation system 495 then detects 640 the received signalsby power filtering the strong signals and detecting the weaker signalbased on the record from the stationary communication device 505. Theprocess then ends 645.

The geographic position of a wireless device may be calculated once asufficient number of satellite signals are received at the wirelessdevice. U.S. Pat. No. 5,812,087 entitled “Method and Apparatus ForSatellite Positioning System Based Time Measurement,” issued to NormanF. Krasner on Sep. 22, 1998, which is incorporated by reference,describes a method and apparatus for measuring time related to satellitedata signals in satellite positioning systems. The measured time is usedto calculate the position of the wireless device. U.S. Pat. No.5,812,087 discloses the method and apparatus for establishing receivertiming at the wireless device by having a GPS receiver of the wirelessdevice form an estimate of a portion of the satellite data message andtransmit the estimate to a base station. The base station compares thisestimate with a record of the satellite data signals received fromanother GPS receiver at the base station. The comparison determineswhich portion of the base station's data most closely matches the datatransmitted by the wireless device and the result of the comparison istransmitted back to the wireless device for reference. The timemeasurements may also be implemented in the system described in U.S.Pat. No. 5,945,944, entitled “Method And Apparatus For Determining TimeFor GPS Receivers,” issued to Norman F. Krasner on Aug. 31, 1999, whichis incorporated by reference.

U.S. Pat. No. 5,945,944 discloses a method and apparatus of determiningthe time for a global positioning system receiver. Timing signalsderived from a communication system, such as cellular phone transmissionsignals, are received by a GPS receiver and decoded to provide accuratetime information. The timing signals may be in the form of synchronizedevents marked by timing indicators, or as system time information. Thetiming signals in combination with satellite position signals receivedby the GPS receiver are used to determine the position of the GPSreceiver. The time measurements may also be implemented in anobstructive environment by the system described in U.S. Pat. No.5,831,574, entitled “Method And Apparatus For Determining the LocationOf An Object Which May Have An Obstructed View Of The Sky,” issued toNorman F. Krasner on Nov. 3, 1998 and U.S. Pat. No. 6,016,119, entitled“Method And Apparatus For Determining The Location Of An Object WhichMay Have An Obstructed View Of The Sky,” issued to Norman F. Krasner onJan. 18, 2000, which are both incorporated by reference.

U.S. Pat. No. 5,831,574 discloses a positioning sensor that receives andstores a predetermined record length of positioning signals while in afix position located such that the positioning sensor can receivepositioning signals. Thereafter, the stored positioning signals areprocessed to determine the geographic location of the fix position. Thefix position may correspond to a location of an object of interest or itmay be in a known location relative to the position of the object, inwhich case once the geographic location of the fix position has beencomputed, the geographic location of the object can be derived. Thepositioning sensor includes a Snapshot GPS receiver which may collectand process GPS signals transmitted by GPS satellites using fastconvolution operations to compute pseudoranges from the GPS satellitesto the fix position. Alternatively, these computations may be performedat a basestation. The computed pseudoranges may then be used todetermine the geographic location of the fix position. The positioningsensor may be equipped with a depth sensing elements, such as a pressuresensor, which allows a determination of the depth of a submerged objectto be made. The positioning sensor may further be equipped with signaldetecting means for determining when the positioning sensor is in thefix position.

U.S. Pat. No. 6,016,119 discloses a positioning sensor which receivesand stores a predetermined record length of positioning signals while ina fix position located such that the positioning sensor can receivepositioning signals. Thereafter, the stored positioning signals areprocessed to determine the geographic location of the fix position. Thefix position may correspond to a location of an object of interest or itmay be in a known location relative to the position of the object, inwhich case once the geographic location of the fix position has beencomputed, the geographic location of the object can be derived. Thepositioning sensor includes a Snapshot GPS receiver which may collectand process GPS signals transmitted by GPS satellites using fastconvolution operations to compute pseudoranges from the GPS satellitesto the fix position. Alternatively, these computations may be performedat a basestation. The computed pseudoranges may then be used todetermine the geographic location of the fix position. The positioningsensor may be equipped with depth sensing means, such as a pressuresensor, which allows a determination of the depth of a submerged objectto be made. The positioning sensor may further be equipped with signaldetecting means for determining when the positioning sensor is in thefix position.

After processing by the cancellation system, the wireless device maymake the time measurements based on the system described in U.S. Pat.No. 5,884,214, entitled “GPS Receiver And Method For Processing GPSSignals,” issued to Norman F. Krasner on Mar. 16, 1999, which isincorporated by reference. U.S. Pat. No. 5,884,214 discloses a globalpositioning system (GPS) receiver having first circuitry for receivingand processing pseudorandom sequences transmitted by a number of GPSsatellites. The first circuitry is configured to perform conventionalcorrelation operations on the received pseudorandom sequences todetermine pseudoranges from the GPS receiver to the GPS satellites. TheGPS receiver also includes second circuitry coupled to the firstcircuitry. The second circuitry is configured to receive and process thepseudorandom sequences during blockage conditions. The second circuitryprocesses the pseudorandum sequences by digitizing and storing apredetermined record length of the received sequences and thenperforming fast convolution operations on the stored data to determinethe pseudoranges. The GPS receiver may have a common circuitry forreceiving GPS signals from in view satellites and downconverting the RFfrequency of the received GPS signals to an intermediate frequency (IF).The IF signals are split into two signal path, a first of which providesthe conventional correlation processing to calculate the pseudoranges.During blockage conditions, the IF signal is passed to the second signalpath wherein the IF signals are digitized and stored in memory and laterprocessed using the fast convolution operations to provide thepseudoranges. Alternative arrangements for the two signal paths includeseparate downconverters or shared digitizers. One embodiment providesboth signal paths on a single integrated circuit with shared circuitryexecuting computer readable instructions to perform GPS signalprocessing appropriate to the reception conditions.

Additionally, the wireless device may make the time measurements basedon the system described in U.S. Pat. No. 5,781,156, entitled “GPSReceiver And Method For Processing GPS Signals”, which is incorporatedby reference. U.S. Pat. No. 5,781,156 discloses a GPS receiver in oneembodiment which includes an antenna which receives GPS signals at an RFfrequency from in view satellites; a downconverter coupled to theantenna for reducing the RF frequency of the received GPS signals to anintermediate frequency (IF); a digitizer coupled to the downconverterand sampling the IF GPS signals at a predetermined rate to producesampled IF GPS signals; a memory coupled to the digitizer storing thesampled IF GPS signals (a snapshot of GPS signals); and a digital signalprocessor (DPS) coupled to the memory and operating under storedinstructions thereby performing Fast Fourier Transform (FFT) operationson the sampled IF GPS signals to provide pseudorange information. Theseoperations typically also include preprocessing and post processing ofthe GPS signals. After a snapshot of data is taken, the receiver frontend is powered down. The GPS receiver in one embodiment also includesother power management features and includes, in another embodiment thecapability to correct for errors in its local oscillator which is usedto sample the GPS signals. The calculation speed of pseudoranges, andsensitivity of operation, is enhanced by the transmission of the Dopplerfrequency shifts of in view satellites to the receiver from an externalsource, such as a basestation in one embodiment of the invention.

Additionally, an example implementation of the time measurementutilizing the assistance of a base station may be implemented in thesystem described in U.S. Pat. No. 5,874,914, entitled “GPS ReceiverUtilizing A Communication Link,” issued to Norman F. Kasner on Feb. 23,1999, which is incorporated by reference. U.S. Pat. No. 5,874,914discloses a GPS receiver in one embodiment which includes an antennawhich receives GPS signals at an RF frequency from in view satellites; adownconverter coupled to the antenna for reducing the RF frequency ofthe received GPS signals to an intermediate frequency (IF); a digitizercoupled to the downconverter and sampling the IF GPS signals at apredetermined rate to produce sampled IF GPS signals; a memory coupledto the digitizer storing the sampled IF GPS signals (a snapshot of GPSsignals); and a digital signal processor (DPS) coupled to the memory andoperating under stored instructions thereby performing Fast FourierTransform (FFT) operations on the sampled IF GPS signals to providepseudorange information. These operations typically also includepreprocessing and post processing of the GPS signals. After a snapshotof data is taken, the receiver front end is powered down. The GPSreceiver in one embodiment also includes other power management featuresand includes, in another embodiment, the capability to correct forerrors in its local oscillator which is used to sample the GPS signals.The calculation speed of pseudoranges, and sensitivity of operation, isenhanced by the transmission of the Doppler frequency shifts of in viewsatellites to the receiver from an external source, such as abasestation in one embodiment of the invention.

Additionally, another example implementation of the time measurementutilizing the assistance of a base station may be implemented in thesystem described in U.S. Pat. No. 5,841,396, entitled “GPS ReceiverUtilizing A Communication Link,” issued to Norman F. Krasner on Nov. 24,1998, which is incorporated by reference. U.S. Pat. No. 5,841,396discloses a precision carrier frequency signal for calibrating a localoscillator of a GPS receiver which is used to acquire GPS signals. Theprecision carrier frequency signal is used to calibrate the localoscillator such that the output of the local oscillator, which is usedto acquire GPS signals, is modified by a reference signal generated fromthe precision carrier frequency signal. The GPS receiver locks to thisprecision carrier frequency signal and generates the reference signal.In another aspect of the invention, satellite almanac data istransmitted to a remote GPS receiver unit from a base station via acommunication link. The remote GPS receiver unit uses this satellitealmanac data to determine approximate Doppler data for satellites inview of the remote GPS receiver unit.

Still another example implementation of the time measurement utilizingthe assistance of a base station may be implemented in the systemdescribed in U.S. Pat. No. 5,999,124, entitled “Satellite PositioningSystem Augmentation With Wireless Communication Signals,” issued toLeonid Sheynblant on Dec. 7, 1999, which is incorporated by reference.U.S. Pat. No. 5,999,124 discloses a method and apparatus for processingposition information from satellite positioning system satellites andfrom cellular based communication signals. In one example of a methodaccording to the invention, a SPS receiver receives SPS signals from atleast one SPS satellite. This SPS receiver is coupled to and typicallyintegrated with a communication system which receives and transmitsmessages in a cell based communication system. In this method, a messageis transmitted in the cell based communication signals between acommunication system and a first cell based transceiver. A timemeasurement which represents a time of travel of a message in the cellbased communication signals between the cell based transceiver and thecommunication system is determined. Another time measurement thatrepresents a time of travel of the SPS signals is also determined. Aposition of the SPS receiver is determined from a combination of atleast the time measurement which represents the time of travel of amessage in the cell based communication signals and from a timemeasurement which represents a time travel of the SPS signals. The cellbased communication signals are capable of communicating data messagesin a two-way direction in one embodiment between the cell basedtransceiver and the communication system.

Another example implementation of the time measurement utilizing theassistance of a base station may be implemented in the system describedin U.S. Pat. No. 6,002,363, entitled “Combined GPS Positioning SystemAnd Communications System Utilizing Shared Circuitry,” issued to NormanF. Krasner and is incorporated by reference. U.S. Pat. No. 6,002,363discloses a combined GPS and communication system having sharedcircuitry. The combined system includes an antenna for receiving datarepresentative of GPS signals, a frequency converter coupled to theantenna, a frequency synthesizer coupled to the frequency converter, ananalog to digital converter coupled to the frequency converter and aprocessor coupled to the frequency converter. The processor processesthe data representative of GPS signals to determine a pseudorange basedon the data representative of GPS signals to determine a pseudorangebased on the data representative of GPS signals. The integratedcommunication receiver includes a shared component which is at least oneof the antenna, the frequency converter, the frequency synthesizer andthe analog to digital converter. Typically, in certain embodiments, theprocessor also demodulates communication signals received as well ascontrols the modulation of data to be transmitted as a communicationsignal through a communication link.

While various embodiments of the application have been described, itwill be apparent to those of ordinary skill in the art that many moreembodiments and implementations are possible that are within the scopeof this invention. Accordingly, the invention is not to be restrictedexcept in light of the attached claims and their equivalents.

1. A method for detecting low power Global Positioning System (“GPS”)signals from a plurality of received GPS signals, the method comprising:identifying one or more received GPS signals of the plurality ofreceived GPS signals by a wireless device; delaying the plurality ofreceived GPS signals; canceling less than the identified one or morereceived GPS signals of the plurality of received GPS signals from thedelayed plurality of received GPS signals to create a resultant GPSsignal; demodulating and despreading the resultant GPS signal to createa first demodulated and despread GPS signal; detecting at least one lowpower GPS signal relative to one of the plurality of received GPSsignals from the first demodulated and despread GPS signal transmittingthe detected low power GPS signal to a stationary communication device;comparing the transmitted low power GPS signal to a list of received GPSsignals that the stationary communication device generated; anddetermining whether the wireless device has detected signals from asufficient number of satellites or additional information to assist thewireless device to detect any remaining needed signals.
 2. The method ofclaim 1 further includes calculating a geographic position for thewireless device from the detected at least one low power GPS signal andthe plurality of received GPS signals.
 3. The method of claim 1 whereinthe step of canceling further includes: obtaining a processed GPS signalfrom the plurality of received GPS signals; and combining the processedGPS signal with the delayed plurality of received GPS signals.
 4. Themethod of claim 3, wherein the step of obtaining further includes:demodulating the plurality of received GPS signals to create ademodulated GPS signal; and despreading the demodulated GPS signal tocreate a second demodulated and despread GPS signal.
 5. The method ofclaim 4 wherein the step of combining further includes: respreading thesecond demodulated and despread GPS signal to create a respread GPSsignal; remodulating the respread GPS signal to create a respread andremodulated GPS signal; and subtracting the respread and remodulated GPSsignal from the delayed plurality of received GPS signals.
 6. The methodof claim 5 further includes calculating a geographic position from thewireless device from the result of subtracting the respread andremodulated GPS signal from the delayed plurality of received GPSsignals.
 7. A method for detecting at least one low power GPS signalfrom a plurality of received GPS signals, the method comprising:identifying one or more received GPS signals of the plurality ofreceived GPS signals by a wireless device; storing the plurality ofreceived GPS signals; canceling less than the identified one or morereceived GPS signals of the plurality of received GPS signals from thestored plurality of received GPS signals to create a resultant GPSsignal; demodulating and despreading the resultant GPS signal to createa first demodulated and despread GPS signal; detecting the at least onelow power GPS signal relative to one of the plurality of received GPSsignals from the first demodulated and despread GPS signal; calculatinga pseudo range for the wireless device from the detected at least onelow power GPS signal transmitting the detected low power GPS signal to astationary communication device; comparing the transmitted low power GPSsignal to a list of received GPS signals that the stationarycommunication device generated; and determining whether the wirelessdevice has detected signals from a sufficient number of satellites oradditional information to assist the wireless device to detect anyremaining needed signals.
 8. The method of claim 7 further includescalculating a geographic position for the wireless device from thedetected at least one low power GPS signal and the plurality of receivedGPS signals.
 9. The method of claim 7 wherein the step of cancelingfurther includes: obtaining a processed GPS signal from the plurality ofreceived GPS signals; and combining the processed GPS signal with thestored plurality of received GPS signals.
 10. The method of claim 9wherein the step of obtaining further includes match filtering theplurality of received GPS signals to create the processed GPS signal.11. The method of claim 10 wherein the step of combining furtherincludes: respreading the processed GPS signal to create a respread GPSsignal; remodulating the respread GPS signal to create a respread andremodulated GPS signal; and subtracting the respread and remodulated GPSsignal from the stored plurality of received GPS signals.
 12. The methodof claim 11, further including calculating a geographic position for thewireless device from the result of subtracting the respread andremodulated GPS signal from the stored plurality of received GPSsignals.
 13. A cancellation system, for detecting low power signals froma plurality of received GPS signals, the cancellation system comprising:a wireless device including at least one of the following: means foridentifying one or more received GPS signals of the plurality ofreceived GPS signals; means for delaying the plurality of received GPSsignals; means for canceling less than the identified one or morereceived GPS signals of the plurality of received GPS signals from thedelayed plurality of received GPS signals to create a resultant GPSsignal; means for demodulating and despreading the resultant GPS signalto create a first demodulated and despread GPS signal; means fordetecting at least one low power signal relative to one of the pluralityof received GPS signals from the first demodulated and despread GPSsignal; and means for transmitting the detected low power signal; and astationary communication device including at least one of the following:means for comparing the transmitted low power signal to a list ofreceived GPS signals that the stationary communication device generated;and means for determining whether the wireless device has detectedsignals from a sufficient number of satellites or additional informationto assist the wireless device to detect any remaining needed signals.14. The cancellation system of claim 13 wherein the wireless devicefurther includes means for calculating a geographic position for thewireless device from the detected at least one low power signal and theplurality of received GPS signals.
 15. The cancellation system of claim13 wherein the canceling means further includes: means for obtaining aprocessed GPS signal from the plurality of received GPS signals; andmeans for combining the processed GPS signal with the delayed pluralityof received GPS signals.
 16. The cancellation system of claim 15 whereinthe obtaining means further includes: means for demodulating a receivedGPS signal from the plurality of received GPS signals to create ademodulated GPS signal; and means for despreading the demodulated GPSsignal to create a second demodulated and despread GPS signal.
 17. Thecancellation system of claim 16 wherein the combining means furtherincludes: means for respreading the second demodulated and despread GPSsignal to create a respread UPS signal; means for remodulating therespread GPS signal to create a respread and remodulated GPS signal; andmeans for subtracting the respread and remodulate GPS signal from thedelayed plurality of received GPS signals.
 18. A cancellation system fordetecting low power signals from a plurality of received GPS signals,the cancellation system comprising: a wireless device including at leastone of the following: means for identifying one or more received GPSsignals of the plurality of received GPS signals; means for storing theplurality of received GPS signals; means for canceling less than theidentified one or more received GPS signals of the plurality of receivedGPS signals from the stored plurality of received GPS signals to createa resultant GPS signal; means for demodulating and despreading theresultant GPS signal to create a first demodulated and despread GPSsignal; means for detecting at least one low power signal relative toone of the plurality of received GPS signals from the first demodulatedand despread GPS signal; means for calculating a pseudo range for thewireless device from the detected at least one low power GPS signal; andmeans for transmitting the detected low power signal; and a stationarycommunication device including at least one of the following: means forcomparing the transmitted low power signal relative to a list ofreceived GPS signals that the stationary communication device generated;and means for determining whether the wireless device has detectedsignals from a sufficient number of satellites or additional informationto assist the wireless device to detect any remaining needed signals.19. The cancellation system of claim 18 wherein the canceling meansfurther includes: means for obtaining a processed GPS signal from theplurality of received GPS signals; and means for combining the processedsignal with the stored plurality of received GPS signals.
 20. Thecancellation system of claim 19 wherein the obtaining means furtherincludes means for match filtering the plurality of received GPS signalsto create the processed GPS signal.
 21. The cancellation system of claim20 wherein the combining means further includes: means for respreadingthe processed GPS signal to create a respread GPS signal; means forremodulating the respread GPS signal to create a respread andremodulated GPS signal; and means for subtracting the respread andremodulated GPS signal from the stored plurality of received GPSsignals.
 22. The cancellation system of claim 21 wherein the wirelessdevice further includes means for calculating a geographic position forthe wireless device from the result of subtracting the respread andremodulated GPS signal from the stored plurality of received GPSsignals.
 23. A cancellation system for detecting low power signals froma plurality of received GPS signals, the cancellation system comprising:a wireless device including at least one of the following: a controllerthat identifies one or more received GPS signals of the plurality ofreceived GPS signals; a delay circuit; a first demodulator anddespreader unit that produces a first demodulated and despread GPSsignal corresponding to the identified one or more received GPS signalsof the plurality of received GPS signals; a remodulator and respreaderunit in signal communication with the first demodulator and despreaderunit, the remodulator and respreader unit produces a respread andremodulated GPS signal from the first demodulated and despread GPSsignal; a combiner in signal communication with the delay circuit andthe remodulator and respreader unit, the combiner produces a combinedGPS signal from the output of the delay circuit and the respread andremodulated GPS signal; a second demodulator and second despreader unitthat produces a second demodulated and despread GPS signal from thecombined GPS signal, wherein the second demodulator and seconddespreader unit detects at least one available GPS signals based on thesecond demodulated and despread GPS signal; and a radio module thatfacilitates transmitting the at least one detected available GPSsignals; and a stationary communication device that receives the atleast one detected available GPS signals from the radio module of thewireless device, compares the transmitted low power GPS signal to a listof received GPS signals that the stationary communication devicegenerated, and determines whether the wireless device has detected GPSsignals from a sufficient number of satellites or additional informationto assist the wireless device to detect any remaining needed GPSsignals.
 24. The cancellation system of claim 23 wherein the firstdemodulator and despreader unit further includes: a carrier demodulator,and a decoder in signal communication with the carrier demodulator. 25.The cancellation system of claim 24 further includes a data decoder insignal communication with the combiner.
 26. The cancellation system ofclaim 25 further including a processor that utilizes the output of thedata decoder to calculate a position of a satellite.
 27. Thecancellation system of claim 26 wherein the processor also calculatesthe geographic position of the cancellation system.
 28. The cancellationsystem of claim 24 wherein the combined signal is the difference of theoutput of the delay circuit and the respread and modulated GPS signal.29. A cancellation system for detecting low power GPS signals from aplurality of received signals, the cancellation system comprising: awireless device including at least one of the following: a controllerthat identifies one or more received GPS signals of the plurality ofreceived signals; a matched filter unit that produces a demodulated anddespread signal corresponding to the identified one or more received GPSsignals of the plurality of the received signals; a storage unit thatstores the plurality of received GPS signals; a remodulator andrespreader unit in signal communication with the matched filter unit,the remodulator and respreader unit produces a respread and remodulatedGPS signal from the output of the matched filter; a combiner in signalcommunication with the storage unit and the remodulator and respreaderunit, the combiner produces a combined GPS signal from the output of thestorage unit and the remodulated and respread GPS signal; a demodulatorand second despreader unit that produces a first demodulated anddespread GPS signal from the received combined GPS signal, wherein thedemodulator and second despreader unit detects at least one availableGPS signals based on the first demodulated and despread GPS signal; anda radio module that facilitates transmitting the at least one detectedavailable GPS signals; and a stationary communication device thatreceives the at least one detected available GPS signals from the radiomodule of the wireless device, compares the transmitted low power GPSsignal to a list of received GPS signals that the stationarycommunication device generated, and determines whether the wirelessdevice has detected GPS signals from a sufficient number of satellitesor additional information to assist the wireless device to detect anyremaining needed GPS signals.
 30. The cancellation system of claim 29further including a switch in signal communication with the combiner,data decoder, storage unit, and processor.
 31. The cancellation systemof claim 29 wherein the processor also calculates the geographicposition of the cancellation system.
 32. The cancellation system ofclaim 29 wherein the combined GPS signal is the difference of the outputof the storage unit and the respread and remodulated GPS signal.
 33. Anon-transitory computer readable medium having software for detectinglow power signals from a plurality of received signals for acancellation system, the non-transitory computer readable medium beinglocated at a wireless device, the software comprising: logic configuredto identify one or more received signals of the plurality of receivedsignals; logic configured to delay the plurality of received signals;logic configured to cancel less than the identified one or more receivedsignals of the plurality of received signals from the delayed pluralityof received signals to create a resultant signal; logic configured todemodulate and despread the resultant signal to create a firstdemodulated and despread signal; logic configured to detect at least onepower signal from the first demodulated and despread signal; and logicfor transmitting the at least one detected low power signal to astationary communication device, wherein the stationary communicationdevice compares the at least one transmitted low power signal to a listof received GPS signals that the stationary communication devicegenerated, and determines whether the wireless device has detected GPSsignals from a sufficient number of satellites or additional informationto assist the wireless device to detect any remaining needed GPSsignals.
 34. The non-transitory computer readable medium of claim 33further including logic for calculating a geographic position for thewireless device from the detected at least one low power signal and theplurality of received signals.
 35. The non-transitory computer readablemedium of claim 33 wherein, the canceling logic further includes: logicconfigured to obtain a processed signal from the plurality of receivedsignals; and logic configured to combine the processed signal with thedelayed plurality of received signals.
 36. The non-transitory computerreadable medium 35 wherein the combining logic further includes: logicconfigured to demodulate the plurality of received signals to create ademodulated signal; and logic configured to despread the demodulatedsignal to create a second demodulated and despread signal.
 37. Thenon-transitory computer readable medium of claim 36 wherein thecombining logic further includes: logic configured to respread thesecond demodulated and despread signal to create a respread signal;logic configured to remodulate the respread signal to create a respreadand remodulated signal; and logic configured to subtract the respreadand remodulated signal from the delayed plurality of received signals.38. A non-transitory computer readable medium having software fordetecting low power signals from a plurality of received signals for acancellation system, the software comprising: logic configured toidentify one or more received signals of the plurality of receivedsignals; logic configured to store the plurality of received signals;logic configured to cancel less than the identified one or more receivedsignals of the plurality of received signals from the stored pluralityof received signals to create a resultant signal; logic configured todemodulate and despread the resultant signal to create a firstdemodulated and despread signal; logic configured to detect at least onelower power signal from the first demodulated and despread signal; logicfor calculating a pseudo range for a wireless device from the detectedat least one low power signal; and logic for transmitting the detectedlow power signal to a stationary communication device, wherein thestationary communication device compares the transmitted low powersignal to a list of received GPS signals that the stationarycommunication device generated, and determines whether the wirelessdevice has detected GPS signals from a sufficient number of satellitesor additional information to assist the wireless device to detect anyremaining needed GPS signals.
 39. The non-transitory computer readablemedium of claim 38 further including logic for calculating a geographicposition for the wireless device from the detected at least one lowpower signal and the plurality of received signals.
 40. Thenon-transitory computer readable medium of claim 38 wherein thecanceling logic further includes: logic configured to obtain a processedsignal from the plurality of received signals; and logic configured tocombine the processed signal with the stored plurality of receivedsignals.
 41. The non-transitory computer readable medium of claim 40wherein the obtaining logic further includes logic configured to matchfilter the received signal from the plurality of received signals tocreate a processed signal.
 42. The non-transitory computer readablemedium of claim 41 wherein the combining logic further includes: logicconfigured to respread the processed signal to create a respread signal;logic configured to remodulate the respread signal so as to create arespread and remodulated signal; and logic configured to subtract therespread and remodulated signal from the stored plurality of receivedsignals.